package utils;

import cn.hutool.core.util.IdUtil;
import com.sun.evening.manager.aes.MyAESUtil;
import com.sun.evening.myPictureNightApplication;
import io.swagger.annotations.ApiModelProperty;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import javax.annotation.Resource;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.stream.Stream;


@SpringBootTest(classes = {myPictureNightApplication.class})
public class ImagesUtil {
    @Resource
    private MyAESUtil myAESUtil;

    @ApiModelProperty("图片信息生成sql插入到picture_list")
    @Test
    public void imagesSql() throws Exception {
        String directoryPath = "D:\\资源文件\\ps\\项目文件夹\\焰灵姬";
        System.out.println("INSERT INTO PICTURE_LIST(PICTURE_NAME.PICTURE_NUMBER,PICTURE_TIPS)VALUES");
        Path directory = Paths.get(directoryPath);
        try {
            // 获取目录下的所有文件
            Stream<Path> files = Files.list(directory);
            // 遍历所有文件并重命名
            files.forEach(file -> {
                try {
                    // 获取文件的名称
                    String fileName = file.getFileName().toString();
                    System.out.println("('"+fileName+"','0172',"+"100),");
                    // 构建新文件路径
                    // 执行文件重命名
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    @ApiModelProperty("图片文件夹批量重命名")
    @Test
    public void imagesReName() throws Exception {
        // 设置目录路径
        String directoryPath = "D:\\资源文件\\ps\\项目文件夹\\焰灵姬";
        // 构建文件路径
        Path directory = Paths.get(directoryPath);
        try {
            // 获取目录下的所有文件
            Stream<Path> files = Files.list(directory);

            // 遍历所有文件并重命名
            files.forEach(file -> {
                try {
                    // 获取文件的名称
                    String fileName = file.getFileName().toString();
                    // 新的文件名（可以按需修改）
                    String uuid = IdUtil.simpleUUID();
                    String newFileName = uuid+".jpg";
                    // 构建新文件路径
                    Path newFilePath = directory.resolve(newFileName);
                    // 执行文件重命名
                    Files.move(file, newFilePath, StandardCopyOption.REPLACE_EXISTING);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
